package com.googlecode.gwtbb.client.only.widget.form.entry;

import com.google.gwt.user.client.ui.Widget;
import com.googlecode.gwtbb.client.shared.validation.Failure;
import com.googlecode.gwtbb.client.shared.validation.FieldId;

import java.util.List;

/**
 * @author Abraham Grief
 * @version $Id$
 * @since Apr 28, 2008
 */
public interface FormEntry {
	Integer NO_TABS = -1;

	void addFailure(Failure f);

	void clearFailures();

	void clearValue();

	String getDefaultValue();

	Widget getEntryWidget();

	FieldId getFieldId();

	String getSubFormName();

	int getTabIndex();

	String getValue();

	List<WidgetCell> getWidgetCells();

	boolean isChanged();

	boolean isDisplayedInitially();

	void setDefaultValue(String defaultValue);

	void setSubFormName(String subFormName);

	void setTabIndex(int tabIndex);

	void setValue(String value);
}